package com.codrim.cs.data.rpc.dto.param;

import com.codrim.common.utils.web.vo.PagingParam;
import com.codrim.cs.data.rpc.enums.OfferReportType;
import com.codrim.cs.data.rpc.enums.TimeDimension;

import java.util.List;

import javax.validation.constraints.NotNull;

import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 广告报表 DTO
 *
 * @author liao.zhang
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class ReportBaseParamDTO extends PagingParam {
    private @NotNull(message = "CompanyId can not be null") Integer companyId;
    private @NotNull(message = "timeZone can not be null") Integer timeZone;
    private @NotNull(message = "startDate can not be null") Integer startDate;
    private @NotNull(message = "endDate can not be null") Integer endDate;
    private List<Integer> offerIds;
    private @NotNull(message = "reportType can not be null") OfferReportType reportType;
    private @NotNull(message = "offerReportFieldList can not be null") List<OfferReportField> offerReportFieldList;
    private @NotNull(message = "timeDimension can not be null") TimeDimension timeDimension;
    private int allRows;

    private Boolean requireTracking;
}
